# 视图函数的作用：处理业务逻辑和返回响应内容（通常分开处理）,本节的模板的作用即是返回响应内容

# 这里模板是指：一个包含响应文本的文件,其中用占位符(变量)表示动态部分
# 使用真实值替换变量,再返回最终得到的字符串的过程称为"渲染"
# Flask使用jinja2模板引擎来渲染模板
# 模板语言:是一种被设计来自动生成文档的简单文本格式,会变量传给模板替换模板上的占位符

"""render_template函数封装了jinja2模板引擎,第一个参数是模板文件名,后面参数均是键值对,表示模板中变量对应的真实值"""
from flask import Flask,render_template

app = Flask(__name__)

@app.route('/')
def index():
    # 业务逻辑
    my_int = 18
    my_str = 'laowang'
    my_list = [1,43,2,4,5]
    my_dict = {
        'name':'haha',
        'age':33
    }

    # 使用render_template 渲染模板
    # 运行时出现以下错误jinja2.exceptions.TemplateNotFound    这种错误都是templates文件夹放错位置，应该将此templates文件夹放置在运行程序的文件夹中，就是说templates文件夹和运行文件位于同一级。
    return render_template('template01.html',
                           my_int=my_int,
                           my_str=my_str,
                           my_list=my_list,
                           my_dict=my_dict)

if __name__ == '__main__':
    app.run(debug=True)